/*
 * Projeto idealizado para ensino interativo com uso de recursos Flash e Java
 * O uso destes codigos eh de extrema restricao, valendo dos direitos dos seus
 * desenvolvedores
 * 
 * @author Fabricio Silva 
 */
package br.com.dimensaointerativo.negocioDAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.com.dimensaointerativo.dao.DAO;
import br.com.dimensaointerativo.dao.DAOException;
import br.com.dimensaointerativo.dto.SegurancaDTO;
import br.com.dimensaointerativo.recursos.RecursosUteis;

/**
 * Trabalhando com conexoes relativas a secao de seguranca do projeto.
 *
 * @author Fabricio Silva
 *
 */
public class SegurancaDAO {
	private DAO dao;
	
	public SegurancaDAO() {
		dao = new DAO();
	}
	
	/**
	 * Responsavel por validar as informacoes inseridas pelo operadoperador operador, no momento de login
	 * @param segurancaDTO
	 * @return
	 * @throws DAOException
	 */
	public boolean validarLogin(SegurancaDTO segurancaDTO) throws DAOException {
		Connection conexao = dao.getConnection();
		PreparedStatement ps = null;
		ResultSet rs = null;
		StringBuilder sql = new StringBuilder();
		boolean retorno = false;
		try {
			// limpando o conteudo do objeto sql
			sql.delete(0, sql.length());
			sql.append("SELECT usuario, senha ");
			sql.append("FROM login ");
			sql.append("WHERE usuario = ? ");
			sql.append("AND senha = ?");
			
			ps = conexao.prepareStatement(sql.toString());
			ps.setString(1, segurancaDTO.getLogin());
			ps.setString(2, segurancaDTO.getPasswd());
			rs = ps.executeQuery();
			
			// Verificando se as informacoes estao na base de dados
			while (rs.next()) {
				retorno = true;
			}
		} catch(Exception e1) {
			throw new DAOException(e1.getMessage());
		} finally {
			try {
				conexao.close();
			} catch (SQLException e2) {
				throw new DAOException(e2.getMessage());
			}
		}
		return retorno;
	}
}
